package cn.getech.data.development.controller;


import cn.getech.data.development.constant.*;
import cn.getech.data.development.model.dto.AnalysisInfoDto;
import cn.getech.data.development.model.qo.AnalysisInfoQO;
import cn.getech.data.development.model.vo.AnalysisInfoVO;
import cn.getech.data.development.service.IAnalysisInfoService;
import cn.getech.data.intelligence.common.utils.PageUtils;
import cn.getech.data.intelligence.common.utils.PojoUtils;
import cn.getech.data.intelligence.common.utils.R;
import cn.getech.system.center.annotation.SysLog;
import cn.getech.system.center.constant.OperationModulesEnum;
import cn.getech.system.center.constant.OperationTypeEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 分析任务表 前端控制器
 * </p>
 *
 * @author hujz
 * @since 2019-08-21
 */
@Api(tags = "分析任务表")
@RestController
@RequestMapping("/bdp/analysisInfo")
public class AnalysisInfoController {

//    @Autowired
//    public IAnalysisInfoService iIAnalysisInfoService;
//
//    /**
//     * 保存数据
//     *
//     * @param analysisInfoVO
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "保存数据")
//    @SysLog(value = "分析任务保存数据", type = OperationTypeEnum.ADDCODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/save")
//    public R save(@RequestBody AnalysisInfoVO analysisInfoVO) {
//        Assert.notNull(analysisInfoVO, DataDevelopmentBizExceptionEnum.PARAM_ERROR.getMessage());
//        AnalysisInfoDto analysisInfoDto = new AnalysisInfoDto();
//        BeanUtils.copyProperties(analysisInfoVO, analysisInfoDto);
//        iIAnalysisInfoService.save(analysisInfoDto);
//        return R.ok();
//    }
//
//    /**
//     * 根据ID删除
//     *
//     * @param id 数据ID
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据ID删除")
//    @SysLog(value = "根据ID删除分析任务", type = OperationTypeEnum.DELETECODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/delete/{id}")
//    public R delete(@PathVariable("id") String id) {
//        iIAnalysisInfoService.deleteAnalysisInfo(id);
//        return R.ok();
//    }
//
//    /**
//     * 根据ID修改名称或者描述
//     *
//     * @param analysisInfoVO
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据ID修改名称或者描述")
//    @SysLog(value = "分析任务根据ID修改名称或者描述", type = OperationTypeEnum.UPDATECODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/update")
//    public R update(@RequestBody AnalysisInfoVO analysisInfoVO) {
//        Assert.notNull(analysisInfoVO, DataDevelopmentBizExceptionEnum.PARAM_ERROR.getMessage());
//        AnalysisInfoDto analysisInfoDto = new AnalysisInfoDto();
//        BeanUtils.copyProperties(analysisInfoVO, analysisInfoDto);
//        iIAnalysisInfoService.update(analysisInfoDto);
//        return R.ok();
//    }
//
//
//    /**
//     * 根据ID修改状态为启用
//     *
//     * @param id
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据ID修改状态为启用")
//    @SysLog(value = "分析任务根据ID修改状态为启用", type = OperationTypeEnum.OPENCODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/updateUp")
//    public R updateUp(@RequestParam("id") Integer id) {
//        Assert.notNull(id, DataDevelopmentBizExceptionEnum.PARAM_ERROR.getMessage());
//        iIAnalysisInfoService.updateUp(id);
//        return R.ok();
//    }
//
//
//    /**
//     * 根据ID修改状态
//     *
//     * @param id
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据ID修改状态为禁用")
//    @SysLog(value = "分析任务根据ID修改状态为禁用", type = OperationTypeEnum.CLOSECODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/updateDown")
//    public R updateDown(@RequestParam("id") Integer id) {
//        Assert.notNull(id, DataDevelopmentBizExceptionEnum.PARAM_ERROR.getMessage());
//        iIAnalysisInfoService.updateDown(id);
//        return R.ok();
//    }
//
//    /**
//     * 根据id查询
//     *
//     * @param id 主键编号
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据id查询")
//    @SysLog(value = "根据id查询分析任务", type = OperationTypeEnum.SELECTCODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @GetMapping("/get/{id}")
//    public R get(@PathVariable("id") String id) {
//        AnalysisInfoDto analysisInfoDto = iIAnalysisInfoService.editById(id);
//        if (null != analysisInfoDto) {
//            AnalysisInfoVO analysisInfoVO = new AnalysisInfoVO();
//            BeanUtils.copyProperties(analysisInfoDto, analysisInfoVO);
//            return R.okWithData(analysisInfoVO);
//        }
//        return R.okWithData(null);
//    }
//
//    /**
//     * 根据条件查询集合
//     *
//     * @param analysisInfoQO 查询对象
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据条件查询集合")
//    @SysLog(value = "根据条件查询分析任务", type = OperationTypeEnum.SELECTCODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/list")
//    public R list(@RequestBody AnalysisInfoQO analysisInfoQO) {
//        List<AnalysisInfoDto> analysisInfoDtos = iIAnalysisInfoService.list(analysisInfoQO);
//        return R.okWithData(PojoUtils.listConvert(AnalysisInfoVO.class, analysisInfoDtos));
//    }
//
//    /**
//     * 根据条件分页查询集合
//     *
//     * @param analysisInfoQO 查询对象
//     * @author: hujz
//     * @date: 2019-08-21
//     */
//    @ApiOperation(value = "根据条件分页查询集合")
//    @SysLog(value = "根据条件分页查询分析任务", type = OperationTypeEnum.SELECTCODE, modulesType = OperationModulesEnum.BDPMODELCODE)
//    @PostMapping("/page")
//    public R page(@RequestBody AnalysisInfoQO analysisInfoQO) {
//        PageUtils page = iIAnalysisInfoService.page(analysisInfoQO);
//        if (null != page) {
//            List<AnalysisInfoVO> analysisInfoVOS = PojoUtils.listConvert(AnalysisInfoVO.class, page.getList());
//            page.setList(analysisInfoVOS);
//            return R.okWithPage(page);
//        }
//        return R.okWithPage(null);
//    }


}

